package com.wkbb.basic.service;

import com.github.pagehelper.PageInfo;
import com.wkbb.basic.model.VersionControl;
import com.wkbb.common.base.BaseService;
import com.wkbb.common.dto.basic.DeviceDetailDto;
import com.wkbb.common.dto.basic.VersionControlDto;

import java.util.List;
import java.util.Map;

/**
 * @author lizhichao
 * @date 2019/8/22
 * @description
 */
public interface DeviceVersionControlService extends BaseService {

    /**
     * 查询版本升级信息分页列表
     * @param parms
     * @return
     * @throws Exception
     */
    PageInfo<VersionControl> getDeviceVersionPageInfoList(Map<String,Object> parms, Integer pageNo, Integer pageSize) throws Exception;

    /**
     * 查询版本升级信息
     * @param parms
     * @return
     * @throws Exception
     */
    VersionControl getDeviceVersionInfo(Map parms) throws Exception;


    /**
     * 根据设备编号查询版本信息
     * @param deviceCode
     * @return
     * @throws Exception
     */
    VersionControlDto getVersionControlDtoByDeviceCode(String deviceCode) throws Exception;

    /**
     * 新增版本控制信息
     * @param versionControlDto
     * @throws Exception
     */
    void addDeviceVersion(VersionControlDto versionControlDto) throws Exception;

    /**
     * 更新版本控制信息
     * @param versionControlDto
     * @throws Exception
     */
    void updateDeviceVersion(VersionControlDto versionControlDto) throws Exception;

    /**
     * 删除版本控制信息
     * @param ids
     * @throws Exception
     */
    void deleteDeviceVersionByIdBatch(List<Long> ids) throws Exception;

    /**
     * 更新版本状态
     * @param parms
     * @throws Exception
     */
    void updateStatusById(Map<String,Object> parms) throws Exception;


    /**
     *  查询设备详情分页列表
     * @param parms
     * @return
     * @throws Exception
     */
    PageInfo<DeviceDetailDto> getDeviceListByMapParms(Integer pageNo,Integer pageSize,Map<String,Object> parms) throws Exception;


}
